import { toRaw, ref, reactive } from 'vue';
export const layoutOption = ref([
  //   {
  //     value: 'GForce',
  //     label: '力导布局',
  //   },
  {
    value: 'Grid',
    label: '网格布局',
  },
  {
    value: 'Force',
    label: '经典力导向布局',
  },
  {
    value: 'Circular',
    label: '环形布局',
  },
  {
    value: 'Concentric',
    label: '同心圆布局',
  },
  {
    value: 'Radial',
    label: '辐射状布局',
  },
  {
    value: 'Dagre',
    label: '层次布局',
  },
]);
export const layoutMap = {
  // 高维数据降维算法布局
  MDS: {
    type: 'mds',
    // workerEnabled: true, // 可选，是否启用 web-worker 以防布局计算时间过长阻塞页面交互
    linkDistance: 300, // 可选，边长度
  },
  // 网格
  Grid: {
    type: 'grid',
    // radius: 200,
    ordering: 'topology',
    // workerEnabled: true,
  },
  ComboForce: {
    type: 'comboForce',
    // center: [ 200, 200 ],     // 可选，默认为图的中心
    linkDistance: 100, // 可选，边长
    preventOverlap: true,
    preventComboOverlap: true,
    nodeStrength: 30, // 可选
    // edgeStrength: 1,        // 可选
    nodeSize: 48,
    nodeSpacing: 30,
    collideNodeStrength: 1,
    collideStrength: 1,
    comboSpacing: 200,
  },
  // 经典力导向布局
  Force: {
    type: 'force',
    nodeSpacing: 30,
    preventOverlap: true,
    nodeSize: 48,
  },
  // 一种力导布局
  GForce: {
    type: 'gForce',
    damping: 0.99,
    maxIteration: 5000,
    minMovement: 0.01,
    linkDistance: 50, // 可选，边长
    nodeStrength: 30, // 可选
    edgeStrength: 0.1, // 可选
    // nodeSize: 30,             // 可选
    preventOverlap: true,
    // workerEnabled: true, // 可选，开启 web-worker
    // gpuEnabled: true, // 可选，开启 GPU 并行计算，G6 4.0 支持
  },
  // 环形布局
  Circular: {
    type: 'circular',
    // workerEnabled: true,
  },
  // 辐射状布局
  Radial: {
    type: 'radial',
    nodeSpacing: 48,
    preventOverlap: true,
    strictRadial: false,
    nodeSize: 48,
    // workerEnabled: true,
  },
  // 层次布局
  Dagre: {
    type: 'dagre',
    rankdir: 'LR', // 可选，默认为图的中心
    align: 'DL', // 可选
    nodesep: 20, // 可选
    ranksep: 50, // 可选
    controlPoints: true, // 可选
    // workerEnabled: true,
    sortByCombo: true,
  },
  // 同心圆布局
  Concentric: {
    type: 'concentric',
    preventOverlap: true, // 可选，必须配合 nodeSize
    nodeSize: 30, // 可选
    // sweep: 10,                // 可选
    minNodeSpacing: 50,
    equidistant: false, // 可选
    startAngle: 0, // 可选
    clockwise: false, // 可选
    maxLevelDiff: 10, // 可选
    sortBy: 'degree', // 可选
    // workerEnabled: true, // 可选，开启 web-worker
  },
};
